تضمین کیفیت در مهندسی نرمافزار
تضمین کیفیت نرمرافزار به نظارت بر فرآیندهای مهندسی نرمافزار و روشهای استفاده شده برای اطمینان از کیفیت اشاره دارد. روشهای مختلفی برای این کار استفاده میشوند مانند اطمینان از مطابقت با یک یا چند استاندارد، مانند ISO 9000 یا مدلی CMMI. علاوه بر این، شرکتها از نرمافزار مدیریت کیفیت برای تصحیح موضوعاتی مانند تفکیک زنجیره تأمین و اطمینان از انطباق نظارتی استفاده میکنند تا محصولات نرمافزار حساس در صنایعی مثل تجهیزات پزشکی با کمترین ضریب خطا ساخته شوند. تضمین کیفیت راهی برای جلوگیری از بروز خطا و اشکالات احتمالی پیش آمده در هنگام تحویل محصولات یا ارائه خدمات به مشتری است. طبق گواهی ISO 9000 قسمتی از مدیریت کیفیت کالا در جهت ایجاد اطمینان از انجام الزامات کیفی است. این نوع از جلوگیری از خطا با کنترل کیفیت متفاوت است زیرا در مراحل قبل تر انجام می شود. عبارات تضمین کیفیت و کنترل کیفیت اغلب بصورت جایگزین بکار می روند و بر اطمینان از کیفیت محصول یا خدمات دلالت دارند. تضمین کیفیت عبارت است از نظارت و ارزیابی در حالیکه لغت کنترل به معنی پنجمین مرحله از مراحل تعریف، اندازه گیری، تحلیل، توسعه، کنترل در مدل (DMAIC) است. تضمین کیفیت شامل اقدامات اجرایی در یک سیستم کیفی است که اهداف محصول، خدمات یا فعالیت ها را انجام پذیر می کند. اندازه گیری سیستماتیک، مقایسه با استاندارد، بازرسی روند ها و بازخوردها که جهت جلوگیری از خطا انجام می شود. این می تواند تفاوت تضمین کیفیت با کنترل کیفیت باش، که بر روی خروجی روندها تمرکز دارد.
یک کارشناس تضمین کیفیت چه شرح وظایفی دارد؟
یک کارشناس تضمین کیفیت از هماهنگی، نظارت و اطمینان از حصول فازهایی که باعث میشوند محصولی به درستی ساخته شود اطمینان حاصل میکند. این شخص در برنامهریزی برای انجام دقیق و صیحح آزمایشها و بازرسیهای موردنیاز محصول که در طرحهای کنترل یا سایر مدارک فنی به آنها اشاره شده به مدیر مجموعه کمک میکند. برنامهریزی و نظارت بر اجرای منظم بهروزرسانیهای محصول، ارزیابی کیفیت محصول خروجی، برنامهریزی برای اجرای منظم فرآیندهای تولید و ارائه راهحلهای مناسب به منظور کافی یا حذف موارد غیرضرروی در ساخت محصول، اندزاهگیری و پایش محصول مطابق با طرحهای کنترلی، برنامهریزی و نظرات بر اجرای دقیق تجزیه و تحلیل سامانههای اندازهگیری (MSA)، اطمینان از صحت سامانههای اندازهگیری، زمینهسازی، برنامهریزی و نظارت بر اجرای کنترل آماری فرآیندها (SPC)، تجزیه و تحلیل شکایات مشتریان و ارزیابی محصولات عودت شده، تعامل با واحد مالی در زمینه جمعآوری و طبقهبندی و گزارشدهی هزینههای کیفیت، تعامل با کمیته راهبری کیفیت، طراحی و پایش سیستم مدیریت کیفیت، تصوی و نظارت بر اجرای تمامی روندهای اجرایی، پیگیری توقف خط تولید با هماهنگی مدیر مربوطه، تایید محصول نهایی جهت عرضه به بازار، انجام رویههای مربوط به کنترل مستندات و مدارک برنامهریزی و انجام ممیزیهای داخلی و آمادهسازی انواع ممیزیها بخشی از وظایف یک کارشناس تضمین کیفیت هستند.
یک کارشناس تضمین کیفیت در حوزه فناوری اطلاعات چه شرح وظایفی دارد؟
در حوزه فناوری اطلاعات این شخص باید قادر به طراحی و اجرای تستهای جز به جز و خودکار در جهت اطمینان از کیفیت محصول باشد. علاوه بر این باید در زیمنه طراحی و اجرای تستها، عیبیابی و تعیین فعالیتهای اصلاحی به شرکت کمک کند. مهندس QA نقش مهمی در فرآیند توسعه محصول بازی میکند و به همین دلیل تستهایی را قبل از عرضه محصول اجرا میکند و اطمینان حاصل میکند که نرمافزار به خوبی اجرا شده و نیازهای مشتریان را برآورده میکند. در نهایت، یک کارشناس تضمین کیفیت تمامی مراحل توسعه نرمافزار را به منظور تشخیص و برطرف کردن عملکردهای معیوب سیستم تا دستیابی به استانداردهای کیفی مانتیور میکند. از دیگر وظایف این شخص باید به بازبینی نیازمندیها، مشخصات و اسناد طراحی فنی برای فراهم نمودن بازخوردهای منظم و مفهومی، ساخت Test Plan و Test Case های ساخت یافته، جامع و همراه با جزییات، تخمین، اولویتربندی، برنامهریزی و هماهنگ کردن فعالیتهای مرتبط با تست، طراحی، توسعه و اجرای automation scripts با استفاده از ابزارهای open source، ردیابی، مشخص کردن، ثبت و آرشیو کامل باگها، انجام تستهای رگرسیون پس از برطرف شدن باگها، توسعه و اجرای تستهای فرآیند برای محصولات جدید و موجود برای برآورده کردن نیازهای مشتریان، برقراری ارتباط با تیمهای داخلی (مدیران توسعه و محصول) برای مشخص کردن نیازهای سیستم، مانیتور کردن نتایج فرآیند عیبیابی، مشخص کردن علل عدم تایید نرمافزار و آموزش کاربران برای اجرای راهحلها، بررسی معیارهای تضمین کیفیت، مانند میزان و حجم مشکلات موجود و بهروز بودن با ابزارها و استراتژیهای آزمون جدید اشاره کرد.
یک کارشناس تضمین کیفیت به چه مهارتهایی نیاز دارد؟
مهارتهایی که یک کارشناس تضمین کیفیت نیاز دارد بسته به شرکت و حوزه کاری آن شرکت متفاوت است. بهطور مثال یک شرکت فعال در زمینه خودرو نیازهای مختلفی نسبت به یک شرکت نرمافزار دارید. با اینحال، برخی نیازها جنبه کلی دارند و کارشناسان تضمین کیفیت باید در مورد آنها آگاه باشند. بهطور معمول شرکتها به دنبال استخدام افرادی هستند که حداقل مدرک کارشناسی در رشتههای مرتبط با حوزه کاری آنها مثل صنایع، برق، کامپیوتر و.... را داشته باشند. علاوه بر این دستکم 5 سال سابقه کار برای احراز این مشاغل نیاز است. تسلط بر زبان انگلیسی به ویژه در مکاتبات، تسلط بر کامپیوتر، جستوجو در اینترنت و آشنایی با نرمافزارهای آفیس، عدم داشتن سوء پیشینه کیفری، وارروابط عمومی خوب، مهارت در انجام مکاتبات، آشنایی با استانداردهای مهم مثل ایزو 9001 و ISO TS، توانایی انجام ممیزی داخلی و تسلط بر APQP و SQA بخشی از مهارتهای موردنیاز شرکتها است. از مهارتهای دیگری که برخی شرکتها به دنبال آن هستند به موارد زیر باید اشاره کرد:
آشنایی باالزامات Iso 9001 : 2015 (مدیریت محیط سازمان، شناسایی و ارزیابی مدیریت، ریسکهای کیفی ..... )
Iso 10004 : 2018
Iso 10002 : 2018
(ایمنی و بهداشت و محیط زیستی، شناسایی و ارزیابی ریسکها و خطرات شغلی، شناسایی و ارزیابی جنبههای محیط زیستی و ...)
آشنایی با فرآیند CRM
آشنایی با فرآیند نظرسنجی مشتریان
آشنایی با فرایند رسیدگی به شکایات مشتریان و تجزیه و تحلیل فرایند مرتبط با امور مشتریان
آشنایی با روشهای تجزیه و تحلیل دادهها
در حوزه نرمافزار یک کارشناس تضمین کیفیت باید مدرک کارشناسی یا کارشناسی ارشد در مهندسی علوم کامپیوتر یا رشتههای مرتبط داشته باشد. بر روشها، ابزار و فرآیندهای QA نرمافزار، تجربه در نوشتن Test Plan و Test Caseهای مفهومی، مفید و شفاف، تجربه عملی در استفاده از ابزارهای تست اتوماتیک، تسلط کامل بر SQL و scripts نوشتن، تجربه کار در زمینه یک فرآیند توسعه Agile/Scrum، تجربه انجام تست امنیت و یا تست عملکرد مسلط باشد. علاوه بر این تسلط به زبان انگلیسی نیز مهم است.
به این مطلب چند ستاره میدهید؟(امتیاز: 1.8 - رای: 15)